package com.niiwoo.civet.mobile.vo.response.myloan;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.List;

/**
 * 查询还款安排返回VO
 * 
 * @author liaojunjun
 *
 */
@Getter
@Setter
@ApiModel
public class QueryRepaymentPlanReponseVO {

	/**
	 * 还款方式（1到期还本息，2等额本息，3按月还息，到期还本）
	 */
	@ApiModelProperty(value = "还款方式（1到期还本息，2等额本息，3按月还息，到期还本）", required = true)
	private Byte repaymentType;
	
	/**
	 * 项目类型(默认1:个人极速借 2:机构极速借 3:你我云贷)
	 */
	@ApiModelProperty(value = "项目类型(默认1:个人极速借 2:机构极速借 3:你我云贷)",  required = true)
	private Byte bizType;

	/**
	 * 还款安排
	 */
	@ApiModelProperty(value = "还款安排", required = true)
	private List<RepaymentPlanVO> repayMentPlanVOList;

	@Getter
	@Setter
	@ApiModel
	public static class RepaymentPlanVO {
		/**
		 * 当期期数
		 */
		@ApiModelProperty(value = "当期期数", required = true)
		private Integer currentPeriod;

		/**
		 * 总期数
		 */
		@ApiModelProperty(value = "总期数", required = true)
		private Integer totalPeriod;

		/**
		 * 应还款日期
		 */
		@ApiModelProperty(value = "应还款日期", required = true)
		private String refundDate;
		
		/**
		 * 还款状态（1未还款，2已正常还款，3已逾期还款）
		 */
		@ApiModelProperty(value = "还款状态（1未还款，2已正常还款，3已逾期还款）", required = true)
		private Byte refundStatus;
		
		/**
		 * 是否坏账
		 */
		@ApiModelProperty(value = "是否坏账", required = true)
		private Boolean isBadDebt;
		
		/**
		 * 是否逾期
		 */
		@ApiModelProperty(value = "是否逾期", required = true)
		private Boolean isOverdue;
		
		/**
		 * 是否提前结清
		 */
		@ApiModelProperty(value = "是否提前结清", required = true)
		private Boolean isEarlySettlement;
		
		/**
		 * 逾期天数
		 */
		@ApiModelProperty(value = "逾期天数", required = true)
		private Integer overdueDay;
		
		/**
		 * 罚息
		 */
		@ApiModelProperty(value = "罚息", required = true)
		private BigDecimal penaltyFee;
		
		/**
		 * 逾期描述
		 */
		@ApiModelProperty(value = "逾期描述", required = true)
		private String overdueDesc; 

		/**
		 * 本金
		 */
		@ApiModelProperty(value = "本金", required = true)
		private BigDecimal capital;

		/**
		 * 利息
		 */
		@ApiModelProperty(value = "利息", required = true)
		private BigDecimal interest;

		/**
		 * 平台管理费
		 */
		@ApiModelProperty(value = "平台管理费", required = true)
		private BigDecimal managementFee;
		
		/**
		 * 担保服务费
		 */
		@ApiModelProperty(value = "担保服务费", required = true)
		private BigDecimal guaranteeFee;
	}

}
